Plant control device

ABSTRACT

The present invention provides a control apparatus for a plant, which can suppress excessive correction for a spiky disturbance being applied and maintain a good controllability, when controlling the plant, which is a controlled object, with the self-tuning regulator. A detected equivalent ratio KACT is input to a high-pass filter  33 , and a high-pass filter output KACTHP is input to a parameter adjusting mechanism  42 . The parameter adjusting mechanism  42  calculates a corrected updating vector (KID·dθ(k)) by multiplying an updating component dθ of a model parameter vector by a correction coefficient KID, and adds the corrected updating vector to a preceding value θ(k−1) of the model parameter vector, to thereby calculate a present value θ(k). The correction coefficient KID is changed from “1.0” to a value near “0” upon detection of the spiky response where an absolute value of the high-pass filter output KACTHP increases.

TECHNICAL FIELD

[0001] The present invention relates to a control apparatus for a plant,particularly to a control apparatus having a self-tuning regulator thatidentifies one or more model parameter of a controlled object modelwhich is obtained by modeling the plant, and controls the plant usingthe identified model parameter.

BACKGROUND ART

[0002] An example of a control apparatus for a plant, which controls anair-fuel ratio of an air-fuel mixture supplied to an internal combustionengine, is described in Japanese Patent Laid-open No. 11-73206. Thiscontrol apparatus controls the air-fuel ratio using a self-tuningregulator having a parameter adjusting mechanism which functions as anidentifier for identifying model parameters of the controlled objectmodel.

[0003] In this control apparatus, a self-tuning correction coefficientKSTR is calculated by the self-tuning regulator according to theair-fuel ratio detected by an air-fuel ratio sensor provided in theexhaust system of the engine, and an amount of fuel to be supplied tothe engine is controlled with the self-tuning correction coefficientKSTR.

[0004] When applying the above conventional control apparatus to acontrol of the internal combustion engine mounted on a vehicle, aproblem that an emission amount of NOx increases upon deceleration ofthe vehicle caused by a quick return of the depressed accelerator pedal,or upon changing a gear position of a transmission of the vehicle, isconfirmed.

[0005] When the accelerator pedal is quickly returned, an amount ofintake air of the engine quickly decreases, and the fuel adhered to aninner wall of the intake pipe is supplied to the combustion chamber.Accordingly, the air-fuel ratio detected by the air-fuel ratio sensorindicates a spiky change to a richer air-fuel ratio (a change of quicklyprotruding and returning is hereinafter referred to as a “spike” or a“spiky change”). Therefore, in order to rapidly correct this change inthe air-fuel ratio, the self-tuning regulator makes the self-tuningcorrection coefficient KSTR quickly decrease. As a result, the air-fuelratio becomes over-lean immediately after the quick return of theaccelerator pedal, which makes the emission amount of NOx increase.

[0006]FIGS. 14A to 14C respectively show changes in a detectedequivalent ratio KACT, the self-tuning correction coefficient KSTR, atarget equivalent ratio KCMD, the vehicle speed VP, and the NOx emissionamount. The detected equivalent ratio KACT, shown by a thick line inFIG. 14A, is obtained by converting the air-fuel ratio detected by theair-fuel ratio sensor to an equivalent ratio. The target equivalentratio KCMD, shown by a thin line in FIG. 14A, is obtained by convertinga target air-fuel ratio to an equivalent ratio. The self-tuningcorrection coefficient KSTR is shown by a broken line in FIG. 14A. Asshown in FIG. 14B, when a gear change is performed, a rich spike of thedetected equivalent ratio KACT is generated, which causes theself-tuning correction coefficient KSTR to quickly change in the leandirection. Accordingly, a lean spike is generated immediately after therich spike of the detected equivalent ratio KACT. As a result, the NOxemission amount temporarily increases as shown in FIG. 14C.

[0007] When applying the PID (proportional, integral, and differential)control to the air-fuel ratio control of the internal combustion engine,the above-described problem does not occur, since the response speed ofthe PID control is relatively slow. It is considered that theabove-described problem is caused since the control by the self-tuningregulator has very high speed response characteristic.

DISCLOSURE OF INVENTION

[0008] The object of the present invention is to provide a controlapparatus for a plant, which can suppress excessive correction for aspiky disturbance being applied and maintain a good controllability,when controlling the plant, which is a controlled object, with theself-tuning regulator.

[0009] To attain the above object, the present invention provides acontrol apparatus for a plant, that controls the plant with aself-tuning regulator having identifying means for identifying at leastone model parameter (θ) of a controlled object model which is obtainedby modeling the plant. The self-tuning regulator uses the at least onemodel parameter (θ) identified by the identifying means. The controlapparatus further includes spiky response detecting means for monitoringa parameter (KACT, KSTR) indicative of an output of the plant to detecta spiky response output. The identifying means includes modifying meansfor modifying an updating rate of the at least one model parameter (θ)to a lower rate, when the spiky response output is detected by the spikyresponse detecting means.

[0010] With this configuration, the parameter indicative of the outputof the plant is monitored, and the updating rate of the at least onemodel parameter is modified to a lower rate, when the spiky responseoutput is detected. In the self-tuning regulator, a control deviationbetween the plant output and the control target value is largely reducedby updating the at least one model parameter. Accordingly, the follow-upperformance of the control temporarily becomes lower by modifying theupdating rate to a lower rate. As a result, an excessive correctioncorresponding to the spiky response output of the plant is suppressed,which makes it possible to maintain good controllability.

[0011] Preferably, the identifying means further includes updatingcomponent calculating means for calculating at least one updatingcomponent (dθ) corresponding to the at least one model parameter, andupdating component correcting means for calculating at least onecorrected updating component (KID˜dθ) by multiplying a correctioncoefficient (KID) by the at least one updating component (dθ). Theidentifying means calculates a present value (θ(k)) of the at least onemodel parameter by adding at least one corrected updating component(KID·dθ) to a preceding value (θ(k−1)) of the at least one modelparameter. The modifying means modifies the correction coefficient (KID)so that an absolute value of the correction coefficient decreases, whenthe spiky response output is detected by the spiky response detectingmeans.

[0012] With this configuration, the preceding value of the at least onemodel parameter is maintained, and only the at least one updatingcomponent is changed in the decreasing direction. Therefore, bettercontrollability or stability of the control is obtained after the spikydisturbance disappears, compared with a method of maintaining the atleast one model parameter at a predetermined value.

[0013] Preferably, the spiky response detecting means includes filteringmeans for performing a high-pass filtering of the parameter (KACT, KSTR)indicative of the output of the plant, and detects the spiky responseoutput according to an output (KACTHP) of the filtering means.

[0014] With this configuration, a high-pass filtering of the parameterindicative of the output of the plant is performed, and the spikyresponse output is detected according to the high-pass filteredparameter. Accordingly, a response output due to steady disturbance isnot wrongly determined as the spiky response output. This makes itpossible to accurately detect the spiky response output.

[0015] Preferably, the spiky response detecting means includes averagevalue calculating means for calculating an average value (KACTHPAV,KACTHPAVL) by averaging absolute values of a present output (KACTHP(n),KACTHPL(n)) and a stored output (KACTHP(n−nHPD1), KACTHPL(n−nHPD2)) ofthe filtering means, which was stored at a time a predetermined timeperiod before, and determines that the spiky response has been output,when the average value exceeds a predetermined threshold value (KACTTH,KACTTHL).

[0016] The predetermined time period is set according to a delaycharacteristic of the high-pass filtering process.

[0017] With this configuration, the average value of a present outputand a stored output of the filtering means stored at a time thepredetermined time period before, is calculated, and it is determinedthat the spiky response has been output, when the average value exceedsa predetermined threshold value. When the spiky response is output, apossibility that the present value of the high-pass filtered parameterbecomes a value near “0” is high, and therefore a possibility of wrongdetermination becomes high, if the determination whether or not thespiky response is output is performed according to only the presentvalue of the high-pass filtered parameter. Therefore, the average valueof the present output and the output stored at a time the predeterminedtime period before is used for the determination. This makes it possibleto accurately detect the spiky response output.

[0018] Preferably, the spiky response detecting means determines adirection of the spiky response output and detects only a spiky responseoutput having a predetermined direction.

[0019] With this configuration, it is possible to maintain the updatingrate of the at least one model parameter when the spiky response outputhaving a direction other than the predetermined direction is detected,as well as to lower the updating rate of the at least one modelparameter only when the spiky response output having the predetermineddirection is detected.

[0020] Preferably, the parameter indicative of the output of the plantis an output (KSTR) of the self-tuning regulator.

[0021] With this configuration, the output of the self-tuning regulatoris used as the parameter indicative of the output of the plant. Theoutput of the self-tuning regulator rapidly responds to a change in theoutput of the plant. Therefore, The output of the self-tuning regulatorcan be used as the parameter indicative of the output of the plant. Itis advantageous to use the output of the self-tuning regulator as theparameter indicative of the output of the plant, when the output of theplant includes noises.

[0022] Preferably, the plant includes an engine system having aninternal combustion engine (1) and fuel supplying means (6) forsupplying fuel to the engine, and the self-tuning regulator calculates aparameter (KSTR) that determines a control input to the engine system sothat an air-fuel ratio (KACT) of an air-fuel mixture supplied to theengine coincides with a target air-fuel ratio (KCMD).

[0023] With this configuration, an air-fuel ratio of the air-fuelmixture supplied to the engine is controlled by the self-tuningregulator. Accordingly, when the air-fuel ratio of the air-fuel mixturesupplied to the engine indicates a spiky change, it possible to suppressan excessive correction, and maintain good controllability.

[0024] Preferably, a filtering characteristic of the high-pass filteringis changed according to an operating condition (GAIRCYL) of the engine.

[0025] There is a tendency that high-frequency components included inthe spiky response output increase as the load on the engine increases.Therefore, by changing the characteristic of the high-pass filteringprocess corresponding to such tendency, the spiky response can moreaccurately be detected.

[0026] Preferably, the predetermined threshold value (KACTTH, KACTTHL)is changed according to an operating condition (GAIRCYL) of the engine.

[0027] There is a tendency that the spiky response becomes more unlikelyto occur, as the load on the engine decreases. Therefore, by changingthe predetermined threshold value corresponding to such tendency, thespiky response can more accurately be detected.

BRIEF DESCRIPTION OF DRAWINGS

[0028]FIG. 1 is a schematic diagram showing a configuration of aninternal combustion engine and a control apparatus therefor according toa first embodiment of the present invention;

[0029]FIG. 2 is a block diagram showing the configuration of a controlsystem including the internal combustion engine shown in FIG. 1;

[0030]FIGS. 3A-3C are time-charts illustrating a method for setting aspike correction coefficient (KID);

[0031]FIGS. 4A and 4B are time charts illustrating advantage of thepresent invention;

[0032]FIG. 5 is a flowchart showing a process of calculating aself-tuning regulator (KSTR);

[0033]FIG. 6 is a flowchart showing a process of calculating modelparameters;

[0034]FIG. 7 is a flowchart showing a process of calculating the spikecorrection coefficient (KID);

[0035]FIGS. 8A-8C are time charts illustrating a method of calculatingan average value (KACTHPAV) after the high-pass filtering process shownin FIG. 7;

[0036]FIG. 9 is a time chart illustrating a spike detection in theprocess shown in FIG. 7;

[0037]FIGS. 10A and 10B show tables which are referred to in the processshown in FIG. 7:

[0038]FIG. 11 is a block diagram showing a modified configuration of thecontrol system shown in FIG. 2;

[0039]FIG. 12 is a block diagram showing a configuration of an internalcombustion engine and a control apparatus therefor according to a secondembodiment of the present invention;

[0040]FIG. 13 is a diagram illustrating a detected parameter (YACT) in arunning lane maintaining device of a vehicle, and a control target value(YCMD) of the detected parameter; and

[0041]FIG. 14A-14C are time charts for illustrating a problem of theconventional control apparatus.

BEST MODE FOR CARRYING OUT THE INVENTION

[0042] Some embodiments of the present invention will now be describedwith reference to the drawings.

[0043] First Embodiment

[0044]FIG. 1 is a block diagram showing a configuration of a controlapparatus for a plant, that is, an air-fuel ratio control apparatus foran internal combustion engine (which will be hereinafter referred to as“engine”) according to a first embodiment of the present invention.

[0045] The engine 1 is a six-cylinder engine, having an intake pipe 2provided with a throttle valve 3. A throttle opening (THA) sensor 4 isconnected to the throttle valve 3, so as to output an electrical signalcorresponding to a throttle valve opening THA of the throttle valve 3,and supply the electrical signal to an electronic control unit (whichwill be hereinafter referred to as “ECU”) 5.

[0046] A fuel injection valve 6 is inserted into the intake pipe 2 at aposition between the engine 1 and the throttle valve 3 and slightlyupstream of an intake valve (not shown) of each cylinder. These fuelinjection valves 6 are connected to a fuel pump (not shown), andelectrically connected to the ECU 5. A valve opening period of each fuelinjection valve 6 is controlled by a signal output from the ECU 5.

[0047] An absolute intake pressure (PBA) sensor 8 is providedimmediately downstream of the throttle valve 3. An absolute pressuresignal converted to an electrical signal by the absolute intake pressuresensor 8 is supplied to the ECU 5. An intake air temperature (TA) sensor9 is provided downstream of the absolute intake pressure sensor 8 todetect an intake air temperature TA. An electrical signal correspondingto the detected intake air temperature TA is output from the sensor 9and supplied to the ECU 5.

[0048] An engine coolant temperature (TW) sensor 10 such as a thermistoris mounted on the body of the engine 1 to detect an engine coolanttemperature (cooling water temperature) TW. A temperature signalcorresponding to the detected engine coolant temperature TW is outputfrom the engine coolant temperature sensor 10 and supplied to the ECU 5.

[0049] A crank angle position sensor 11 for detecting a rotational angleof a crankshaft (not shown) of the engine 1 is connected to the ECU 5,and a signal corresponding to the detected rotational angle of thecrankshaft is supplied to the ECU 5. The crank angle position sensor 11includes a cylinder discrimination sensor to output a pulse at apredetermined crank angle position for a specific cylinder of the engine1 (this pulse will be hereinafter referred to as a “CYL pulse”). Thecrank angle position sensor 11 also includes a top dead center (TDC)sensor to output a TDC pulse at a crank angle position before TDC by apredetermined crank angle starting at an intake stroke in each cylinder(at every 120 deg crank angle in the case of a six-cylinder engine), anda CRK sensor for generating one pulse with a constant crank angle period(e.g., a period of 30 deg) shorter than the period of generation of theTDC signal pulse (this pulse will be hereinafter referred to as “CRKpulse”). The CYL pulse, the TDC pulse, and the CRK pulse are supplied tothe ECU 5. These pulses are used to control the various timings, such asfuel injection timing and ignition timing, and for detection of anengine rotational speed NE.

[0050] An exhaust pipe 13 of the engine 1 is provided with an air-fuelratio sensor (which will be hereinafter referred to as “LAF sensor”) 17,to output an electrical signal substantially proportional to the oxygenconcentration in exhaust gases (the air-fuel ratio of an air-fuelmixture supplied to the engine 1). A three-way catalyst 14 is provideddownstream of the LAF sensor 17. The three-way catalysts 14 reduces HC,CO, and NOx contained in the exhaust gases.

[0051] The LAF sensor 17 is connected to the ECU 5 to provide the ECU 5with an electrical signal substantially proportional to the oxygenconcentration in the exhaust gases.

[0052] The engine 1 has a valve timing switching mechanism 30 capable ofswitching the valve timing of intake valves and exhaust valves between ahigh-speed valve timing suitable for a high-speed rotational region ofthe engine 1, and a low-speed valve timing suitable for a low-speedrotational region of the engine 1. This switching of the valve timingalso includes switching of a valve lift amount. Further, when selectingthe low-speed valve timing, one of the two intake valves in eachcylinder is stopped to ensure stable combustion even in the case ofsetting the air-fuel ratio lean with respect to the stoichiometricratio.

[0053] The valve timing switching mechanism 30 is of a type that theswitching of the valve timing is carried out hydraulically. That is, asolenoid valve for performing the hydraulic switching and an oilpressure sensor are connected to the ECU 5. A detection signal from theoil pressure sensor is supplied to the ECU 5, and the ECU 5 controls thesolenoid valve to perform the switching control of the valve timingaccording to an operating condition of the engine 1.

[0054] Although not shown, an exhaust recirculation mechanism and anevaporative fuel processing device are provided. The exhaustrecirculation mechanism recirculates exhaust gases to the intake pipe 2.The evaporative fuel processing device has a canister for storing anevaporative fuel generated in a fuel tank to supply the evaporative fuelto the intake pipe 2 at an appropriate time.

[0055] An atmospheric pressure sensor 21 for detecting an atmosphericpressure (PA) is connected to the ECU 5 to supply a detection signal tothe ECU 5.

[0056] The ECU 5 includes an input circuit, a central processing unit(CPU), a memory circuit, and an output circuit. The input circuit hasvarious functions such as a function of shaping the waveforms of inputsignals from the various sensors, a function of correcting the voltagelevels of the input signals to a predetermined level, and a function ofconverting analog signal values into digital signal values. The memorycircuit includes a ROM (Read Only Memory) preliminarily storing variousoperational programs to be executed by the CPU and also storing variousmaps, and a RAM (Random Access Memory) for storing the results ofcomputation or the like by the CPU. The output circuit supplies drivesignals to various solenoid valves including the fuel injection valves 6and the spark plugs of the engine 1.

[0057] The ECU 5 determines various engine operating regions such as afeedback control operating region and an open loop control operatingregion, based on the detected signals from the above-described varioussensors. The ECU 5 calculates a required fuel amount TCYL from Eq. (1)shown below. The required fuel amount TCYL is a fuel amount required fora combustion per cycle in each cylinder:

TCYL=TIM×KTOTAL×KSTR  (1)

[0058] TIM is a basic fuel amount which is determined by retrieving a TImap set according to the engine rotational speed NE and the absoluteintake pressure PBA. The TI map is set so that the air-fuel ratio of anair-fuel mixture to be supplied to the engine substantially becomes thestoichiometric ratio in the operating condition corresponding to theengine rotational speed NE and the absolute intake pressure PBA.Accordingly, the basic fuel amount TIM is substantially proportional toan intake air flow rate (mass flow rate) of the engine per a unit time(1 TDC period: a time period between the adjacent two TDC pulses).

[0059] KTOTAL is a correction coefficient which is obtained bymultiplying all of the correction coefficients, such as an enginecoolant temperature correction coefficient KTW set according to theengine coolant temperature, an intake air temperature correctioncoefficient KTA set according to the intake air temperature TA, anatmospheric pressure correction coefficient KPA set according to theatmospheric pressure PA, an EGR correction coefficient KEGR setaccording to an exhaust gas recirculation amount during execution of theexhaust gas recirculation, a purge correction coefficient KPUG setaccording to an amount of the purged fuel during execution of theevaporative fuel purging by the evaporative fuel processing device.

[0060] KSTR is a self-tuning correction coefficient calculated accordingto a detected equivalent ratio KACT and a target equivalent ratio KCMDby a self-tuning regulator described below.

[0061] The ECU 5 further executes an adhesion correcting operation whichtakes into account that the fuel injected from each fuel injection valve6 into the intake pipe partially adheres to the inner wall of the intakepipe, to calculate a fuel injection period TOUT of each fuel injectionvalve 6. The adhesion correction is disclosed in detail, for example, inJapanese Patent Laid-open No. 8-21273. The fuel injection valve 6injects fuel into the intake pipe 2. An amount of injected fuel isproportional to the fuel injection period TOUT.

[0062]FIG. 2 is a function block diagram showing an essential portion ofthe control system to illustrate the control by the self-tuningregulator. The control system shown in FIG. 2 consists of a self-tuningregulator 31, a conversion block 32, a high-pass filter 33, a multiplier34, a fuel amount calculating block 35, an engine system 1 a, and theLAF sensor 17. The engine system 1 a includes the fuel injection valve6, the intake pipe 2, the engine 1, and the exhaust pipe 13. Theself-tuning regulator 31, the conversion block 32, the high-pass filter33, the multiplier 34, and the fuel amount calculating block 35 arefunctional blocks realized by the ECU 5.

[0063] The conversion block 32 converts an output of the LAF sensor tothe detected equivalent ratio KACT. The high-pass filter 33 performshigh-pass filtering of the detected equivalent ratio KACT. Theself-tuning regulator 31 includes an inverse transfer functioncontroller 41 and a parameter adjusting mechanism 42. The parameteradjusting mechanism calculates a model parameter vector θ based on thedetected equivalent ratio KACT, the self-tuning correction coefficientKSTR, and the high-pass filtered detected equivalent ratio KACTHP(hereinafter referred to as “filtered equivalent ratio KACTHP”). Themodel parameter vector θ is a vector having elements of a plurality ofmodel parameters defining a controlled object model described below. Theinverse transfer function controller 41 calculates the self-tuningcorrection coefficient KSTR according to the inverse transfer functionof the transfer function of the controlled object model, based on thetarget equivalent ratio KCMD, the detected equivalent ratio KACT, andpast values of the self-tuning correction coefficient KSTR, using themodel parameter vector θ.

[0064] The multiplier 34 multiplies the self-tuning correctioncoefficient KSTR by the basic fuel amount TIM. The fuel amountcalculating block 35 performs calculations of the correction coefficientKTOTAL in the equation (1) and the required fuel amount TCYL, and theadhesion correcting operation, to thereby calculate the fuel injectionperiod TOUT.

[0065] The self-tuning regulator 31 calculates the self-tuningcorrection coefficient KSTR based on the controlled object model that isobtained by modeling the engine system 1 a which is a controlled object.The controlled object model is defined as a DARX model (delayedautoregressive model with exogeneous input model) having a dead time of3 control cycles, by Eq (2) shown below.

KACT(k)=b0×KSTR(k−3)+r1×KSTR(k−4)+r2×KSTR(k−5)+r3×KSTR(k−6)+s0×KACT(k−3)  (2)

[0066] where b0, r1, r2, r3, and s0 are the model parameters identifiedby the parameter adjusting mechanism 42, and k indicates a control time(sampling time) corresponding to the combustion cycle in a specificcylinder.

[0067] Assuming that a model parameter vector θ(k) having the modelparameters as elements is defined by Eq. (3) shown below, the modelparameter vector θ(k) is calculated from Eqs. (4) and (5) shown below.

θ(k)^(T) =[b0, r1, r2, r3, s0]  (3)

θ(k)=SGMθ(k−1)+KID·dθ(k)  (4)

dθ(k)=KP(k)ide(k)  (5)

[0068] SGM in Eq. (4) is a forgetting coefficient matrix defined by Eq(6) shown below. σ in Eq. (6) is a forgetting coefficient set to a valuebetween “0” and “1”. KID is a spike correction coefficient which is setaccording to the filtered equivalent ratio KACTHP, and corrects anupdating vector dθ(k) in a decreasing direction when a spiky change inthe detected equivalent ratio KACT is detected. dθ(k) is an updatingvector of the model parameter vector θ(k). KP(k) in Eq. (5) is a gaincoefficient vector defined by Eq. (7) shown below. P(k) in Eq. (7) is afifth-order square matrix defined by Eq. (8) shown below, and ide(k) isan identification error defined by Eq. (9) shown below. In Eq. (9),KACTHAT(k) is an estimated equivalent ratio calculated from Eq. (10),using a latest (preceding) model parameter vector θ(k−1).$\begin{matrix}{{SGM} = \begin{bmatrix}1 & 0 & 0 & 0 & 0 \\0 & \sigma & 0 & 0 & 0 \\0 & 0 & \sigma & 0 & 0 \\0 & 0 & 0 & \sigma & 0 \\0 & 0 & 0 & 0 & \sigma\end{bmatrix}} & (6) \\{{{KP}(k)} = \frac{{P(k)}{\zeta (k)}}{1 + {{\zeta^{T}(k)}{P(k)}{\zeta (k)}}}} & (7) \\{{{P\left( {k + 1} \right)} = {\frac{1}{\lambda_{1}}\left( {E - \frac{{\lambda_{2}(K)}{\zeta (k)}{\zeta^{T}(k)}}{\lambda_{1} + {\lambda_{2}{\zeta^{T}(k)}{P(k)}{\zeta (k)}}}} \right){P(k)}}}\quad \left( {E\text{:}\quad {the}\quad {unit}\quad {matrix}} \right)} & (8)\end{matrix}$

 ide(k)=KACT(k)−KACTHAT(k)  (9)

KACTHAT(k)=θ(k−1)^(T)ζ(k)  (10)

[0069] In Eqs. (7), (8), and (10), ζ(k) is the vector defined by Eq.(11) shown below and having the control output (KACT) and the controlinput (KSTR×KTH) as elements.

ζ(k)^(T) =[KSTR(k−3), KSTR(k−4), KSTR(k−5), KSTR(k−6), KACT(k−3)]  (11)

[0070] According to settings of the coefficients λ1 and λ2 in Eq. (8),the identification algorithm by Eqs. (4) to (11) is classified into thefollowing four identification algorithms.

[0071] For λ1=1 and λ2=0, fixed gain algorithm

[0072] For λ1=1 and λ2=1, least square method algorithm

[0073] For λ1=1 and λ2=λ, decreasing gain algorithm (λ takes anypredetermined values other than “0” and “1”)

[0074] For λ1=λ and λ2=1, weighted least square method algorithm (λtakes any predetermined values other than “0” and “1”)

[0075] In this embodiment, the fixed gain algorithm is employed with thesetting of λ1=1 and λ2=0. Alternatively, another setting can beemployed. When employing the fixed gain algorithm, the square matrixP(k) has constant values as diagonal elements.

[0076] As described above, the parameter adjusting mechanism 42multiplies the forgetting coefficient matrix SGM by a preceding valueθ(k−1) of the model parameter vector, and add the result of thismultiplication and the corrected updating vector (KID·dθ(k)) which iscorrected with the spike correction coefficient KID, to therebycalculate a present value θ(k) of the model parameter vector. Theforgetting coefficient matrix SGM is employed in order to reduceinfluence of the past values of the identification error ide and preventa drift of the model parameter vector. If the drift of the modelparameter vector is not likely to occur, the model parameter vector θ(k)may be calculated with the following Eq. (4a) which does not include theforgetting coefficient matrix SGM.

θ(k)=θ(k−1)+KID·dθ(k)  (4a)

[0077] The inverse transfer function controller 41 determines theself-tuning correction coefficient KSTR(k), which is the control input,so as to satisfy the following Eq. (12).

KCMD(k)=KACT(k+3)  (12)

[0078] By using Eq. (1), the right side of Eq. (12) is expressed by thefollowing equation.

KACT(k+3)=b0×KSTR(k)+r1×KSTR(k−1)+r2×KSTR(k−2)+r3×KSTR(k−3)+s0×KACT(k)

[0079] Accordingly, Eq. (13) shown below is obtained by calculating theself-tuning correction coefficient KSTR(k) using the above equation.

KSTR(k)=(1/b0)(KCMD(k)−r1×KSTR(k−1)−r2×KSTR(k−2)−r3×KSTR(k−3)−s0×KACT(k))  (13)

[0080] Thus, the inverse transfer function controller 41 calculates theself-tuning correction coefficient KSTR(k) with Eq. (13).

[0081] The high-pass filter 33 performs the high-pass filtering by Eq.(15) shown below.

KACTHP(k)=h20×KACT(k)+h21×KACT(k−1)+h22×KACT(k−2)−h11×KACTHP(k−1)−h12×KACTHP(k−2)  (15)

[0082] The filter coefficients h11, h12, h20, h21, and h22 aredetermined by experiments. The characteristic of the high-pass filteringis determined by the setting of these filter coefficients. In thisembodiment, the characteristic of the high-pass filtering is changedaccording to the engine operating condition as hereinafter described.

[0083]FIGS. 3A to 3C are time charts for illustrating the setting of thespike correction coefficient KID in the parameter adjusting mechanism42. FIG. 3A shows changes in the detected equivalent ratio KACT,specifically a spiky change in the rich direction (a rich spike) and astep-wise disturbance (hereinafter referred to as “step disturbance”).FIG. 3B shows changes in the average value KACTHPAV of the absolutevalue of the filtered equivalent ratio KACTHP. The average valueKACTHPAV increases corresponding to the rich spike of the detectedequivalent ratio KACT and the step disturbance. The change correspondingto the rich spike is greater than the change corresponding to the stepdisturbance. FIG. 3C shows changes in the spike correction coefficientKID. In the illustrated example of FIG. 3C, when the average valueKACTHPAV exceeds a predetermined threshold value KACTTH, it isdetermined that the detected equivalent ratio KACT has indicated a spikychange (a spiky response has been output), so that the spike correctioncoefficient KID is set to “0.01”, otherwise the spike correctioncoefficient KID is set to “1.0”. Alternatively, the spike correctioncoefficient KID may be set to “0”, when the average value KACTHPAV ofthe absolute value of the filtered equivalent ratio KACTHP exceeds thepredetermined threshold value KACTTH. In such case, the correctedupdating vector KID·dθ becomes “0”, which may make the parameteradjusting mechanism 42 become likely to malfunction. Therefore, it ispreferable to set the spike correction coefficient KID to a value whichis slightly greater than “0”.

[0084]FIG. 4A is a time chart that shows changes in the detectedequivalent ratio KACT when a conventional self-tuning regulator whichdoes not use the spike correction coefficient KID performs the control.FIG. 4B is a time chart that shows changes in the detected equivalentratio KACT when the self-tuning regulator of the present embodimentwhich uses the spike correction coefficient KID performs the control.FIGS. 4A and 4B also show changes in the self-tuning correctioncoefficient KSTR and the target equivalent ratio KCMD for reference.

[0085] In FIG. 4A, a lean spike is generated immediately after the richspike of the detected equivalent ratio KACT, while in FIG. 4B, theself-tuning correction coefficient KSTR does not greatly decreasecorresponding to the rich spike of the detected equivalent ratio KACT,and the lean spike is not generated. In this embodiment, when the spikyresponse output is detected, the spike correction coefficient KID ischanged to a smaller value, to reduce the updating rate of the modelparameters. This makes it possible to avoid excessive correction by theself-tuning regulator for the spiky response output and to maintain goodcontrollability.

[0086] Further, it is shown in these drawings that, as for the stepdisturbance, a steady-deviation decreasing characteristic that is almostthe same as that of the conventional control, can be obtained by thecontrol of the self-tuning regulator in this embodiment. This is becausethe time period during which the average value KACTHPAV of the absolutevalue of the filtered equivalent ratio KACTHP exceeds the predeterminedthreshold value KACTTH is short as shown in FIG. 3C, and the controldelay does not become so large, when the step disturbance is applied.

[0087] The calculation processes executed by the CPU of the ECU 5, whichrealize the function of the self-tuning regulator 31 described above,will be described below with reference to FIGS. 5 to 9.

[0088]FIG. 5 is a flowchart showing a process for calculating theself-tuning correction coefficient KSTR. This process is executed insynchronism with generation of the TDC pulse (at intervals of 240 degcrank angle).

[0089] In step S21, a model parameter calculation process shown in FIG.6 is executed. In the process shown in FIG. 6, the model parameters b0,s0, and r1 to r3 are calculated, and moving averages b0AV, s0AV, r1AV,r2AV, and r3AV of these parameters are also calculated. In step S22, themoving averages b0AV, s0AV, r1AV, r2AV, and r3AV are applied to Eqs.(21) and (22) shown below to calculate first and second stabilitydetermination parameters CHKPAR1 and CHKPAR2.

CHKPAR1=(r1AV−r2AV+r3AV+s0AV)/b0AV  (21)

CHKPAR2=|r1AV|+|r2AV|+|r3AV|  (22)

[0090] In step S23, it is determined whether or not the first stabilitydetermination parameter CHKPAR1 is less than a first determinationthreshold OKSTR1 (e.g., 0.6). If CHKPAR1 is less than OKSTR1, it isfurther determined whether or not the second stability determinationparameter CHKPAR2 is less than a second determination threshold OKSTR2(e.g., 0.4) (step S24). If both of the answers to steps S23 and S24 areaffirmative (YES), it is determined that the model parameters arestable, and a downcounter NSTRCHK is set to a predetermined valueNSTRSHK0 (e.g., 4) (step S25). Further, a stability determination flagFSTRCHK is set to “0” (step S26). The stability determination flagFSTRCHK indicates that the model parameters are stable when it is set to“0”.

[0091] If the answer to step S23 or S24 is negative (NO), it isdetermined whether or not the value of the downcounter NSTRCHK is lessthan or equal to “0” (step S27). Initially, NSTRCHK is greater than “0”,so that the value of the downcounter NSTRCHK is decremented by “1” (stepS28). Thereafter, the process proceeds to step S30. When the value ofthe downcounter NSTRCHK becomes “0”, the process proceeds from step S27to step S29, in which the stability determination flag FSTRCHK is set to“1” (step S29).

[0092] In step S30, the self-tuning correction coefficient KSTR iscalculated from Eq. (13a) shown below. Eq. (13a) is obtained byreplacing the model parameters b0, r1, r2, r3, and s0 with the movingaverages b0AV, r1AV, r2AV, r3AV, and s0AV, and further replacing thecontrol time (sampling time) “k” with a control time (sampling time)“n”. The control time “k” is a control time corresponding to acombustion cycle (720 deg crank angle) of a specific cylinder, and thecontrol time “n” is a control time corresponding to a TDC period (240deg crank angle in this embodiment). Accordingly, the relation of “n=3k”is satified.

KSTR(n)=(1/b0)(KCMD(n)−r1AV×KSTR(n−3)−r2AV×KSTR(n−6)−r3AV×KSTR(n−9)−s0AV×KACT(n))  (13a)

[0093] In steps S32 to S37, a limit process of the self-tuningcorrection coefficient KSTR is executed. More specifically, if theself-tuning correction coefficient KSTR is greater than an upper limit(O2LMTH×KCMD) obtained by multiplying the target equivalent ratio KCMDby an upper limit coefficient O2LMTH (e.g., 1.2), the self-tuningcorrection coefficient KSTR is set to the upper limit (O2LMTH×KCMD)(steps S32 and S36). If the self-tuning correction coefficient KSTR isless than a lower limit (O2LMTL×KCMD) obtained by multiplying the targetequivalent ratio KCMD by a lower limit coefficient O2LMTL (e.g., 0.5),the self-tuning correction coefficient KSTR is set to the lower limit(O2LMTL×KCMD) (steps S33 and S35). In these cases, a limit flag FKSTRLMTis set to “1”, so as to indicate that the self-tuning correctioncoefficient KSTR has been set to the upper limit or the lower limit(step S37). If the self-tuning correction coefficient KSTR falls betweenthe upper limit and the lower limit, the limit flag FKSTRLMT is set to“0” (step S34).

[0094]FIG. 6 is a flowchart showing the model parameter calculationprocess executed in step S21 shown in FIG. 5.

[0095] In step S41, it is determined whether or not a initialization endflag FSTRINI is “1”. The initialization end flag FSTRINI is set to “1”when the initialization of the model parameters is completed, andreturned to “0” when the initialization of the model parameter isnecessary, e.g., when the engine is stopped.

[0096] If FSTRINI is equal to “0” in step S41, the initialization of themodel parameters is performed. Specifically, the latest value and pastvalues of the model parameter b0 are all set to “1.0”, and the movingaverage b0AV is set to “1.0”. Further, the latest values and past valuesof the other model parameters r1 to r3 and s0 are all set to “0”, andthe corresponding moving averages r1AV, r2AV, r3AV, and s0AV are all setto “0”. After ending this initialization of the parameters, the processproceeds to step S48.

[0097] If FSTRINI is equal to “1” in step S41, it is determined whetheror not 3 TDC periods (a time period equivalent to three periods of theTDC signal pulse, i.e., one combustion cycle in this embodiment) haveelapsed from the time of the preceding calculation of the modelparameters (step S46). The model defined by Eq. (2) and the controlinput calculated from Eqs. (3) to (15) are defined with a control time(sampling time) “k” which is in synchronism with a combustion cycle k ofa specific cylinder. Therefore, in this embodiment, the calculation ofthe model parameter vector θ, i.e., the model parameters b0, s0, and r1to r3, is performed once every 3 TDC periods in synchronism with acombustion cycle of a specific cylinder. Accordingly, if the answer tostep S46 is affirmative (YES), the calculation of the model parametersb0, s0, and r1 to r3 is performed in steps S48 and S49. If the answer tostep S46 is negative (NO), the model parameter vector θ holds thepreceding value (step S47), i.e., the model parameters b0(n), s0(n), andr1(n) to r3(n) are set to the preceding values b0(n−1), s0(n−1), andr1(n−1) to r3(n−1), respectively. Thereafter, the process proceeds tostep S55.

[0098] In step S48, a KID calculation process shown in FIG. 7 isexecuted, to calculate the spike correction coefficient KID.

[0099] In step S49, it is determined whether or not the stabilitydetermination flag FSTRCHK is “1”. If FSTRCHK is equal to “1”, whichindicates that the model parameters are determined to be unstable, theforgetting coefficient σ is set to a predetermined value SGMCHK for anunstable condition (step S53).

[0100] If the answer to step S49 is negative (NO), i.e., the modelparameters are stable, it is determined whether or not an idle flagFIDLEKAF is “1” (step S50). The idle flag FIDLEKAF is set to “1” whenthe engine rotational speed NE is lower than a predetermined lowrotational speed NEIDL and the throttle valve opening THA is less than apredetermined small opening THIDL. If the idle flag FIDLEKAF is “1” instep S50, the forgetting coefficient u is set to a predetermined valueSGMIDL for the idling condition (step S52). If the idle flag FIDLEKAF is“0” in step S50, the forgetting coefficient u is set to a predeterminedvalue SGM0 for a normal condition (step S51). The predetermined valuesSGM0, SGMIDL, and SGMCHK are set so that the relation“SGM0>SGMIDL>SGMCHK” is satisfied. In an unstable condition, theforgetting coefficient σ is changed to a smaller value, to therebyreduce influence of the past values of the model parameters and make themodel parameters readily return to a stable condition.

[0101] In step S54, the model parameter vector, i.e., the modelparameters b0, s0, and r1-r3 are calculated by Eqs. (4b), (5a), (7a),(9a), (10a), and (11a) shown below (step S48). These equations areobtained by replacing the control time “k” in Eqs. (4), (5), (7), (9),(10), and (11) with the control time “n”. Eq. (7a) is simplified byemploying the fixed algorithm. That is, the matrix P is a diagonalmatrix having constants as diagonal elements.

θ(n)=SGMθ(n−3)+KID·dθ(n)  (4b)

dθ(n)=KP(n)ide(n)  (5a) $\begin{matrix}{{K\quad {P(n)}} = \frac{P\quad {\zeta (n)}}{1 + {{\zeta^{T}(n)}P\quad {\zeta (n)}}}} & \left( {7a} \right)\end{matrix}$

 ide(n)=KACT(n)−KACTHAT(n)  (9a)

KACTHAT(n)=θ(n−1)^(T)ζ(n)  (10a)

ζ(n)^(T) =[KSTR(n−9), KSTR(n−12), KSTR(n−15), KSTR(n−18),KACT(n−9)]  (11a)

[0102] In step S55, the moving averages b0AV, s0AV, r1AV, r2AV, and r3AVare calculated from Eqs. (25)-(29) shown below. $\begin{matrix}{{b0AV} = {\sum\limits_{i = 0}^{11}{{{b0}\left( {n - i} \right)}/12}}} & (25) \\{{s0AV} = {\sum\limits_{i = 0}^{11}{{{s0}\left( {n - i} \right)}/12}}} & (26) \\{{r1AV} = {\sum\limits_{i = 0}^{11}{{{r1}\left( {n - i} \right)}/12}}} & (27) \\{{r2AV} = {\sum\limits_{i = 0}^{11}{{{r2}\left( {n - i} \right)}/12}}} & (28) \\{{r3AV} = {\sum\limits_{i = 0}^{11}{{{r3}\left( {n - i} \right)}/12}}} & (29)\end{matrix}$

[0103] By using the model parameters b0AV, s0AV, r1AV, r2AV, and r3AVobtained by the moving averaging calculation to calculate theself-tuning correction coefficient KSTR, unstable behavior of theself-tuning regulator due to updating the model parameter vector onceevery 3 TDC periods, and further due to the low-pass characteristic ofthe LAF sensor 17, can be prevented.

[0104]FIG. 7 is a flowchart showing KID calculation process executed instep S48 of FIG. 6.

[0105] In step S61, it is determined whether or not the initializationend flag FSTRINI is “1”. If FSTRINI is equal to “0”, initialization ofvarious parameters is performed (step S62). Specifically, all of thepast values of the detected equivalent ratio KACT stored in the memoryare set to the present value KACT(n), and all of the past values of thefiltered equivalent ratio KACTHP stored in the memory are set to “0”.Further, all of the past values of the target equivalent ratio KCMDstored in the memory are set to the present value KACT(n) of thedetected equivalent ratio, and the spike correction coefficient KID isset to “1.0”.

[0106] If FSTRINI is equal to “1” in step S62, it is determined whetheror not an intake air flow rate GAIRCYL is greater than a predeterminedintake air flow rate GAIRHP (e.g., 0.5 g per 1 TDC period). In thisembodiment, an intake air flow rate sensor is not used. Therefore, theintake air flow rate GAIRCYL is calculated by multiplying the basic fuelamount TIM applied to Eq. (1) by a conversion coefficient.

[0107] If GAIRCYL is greater than GAIRHP in step S63, i.e., the engine 1is operating in a high load operating condition, a first high-passfiltering is performed by Eq. (15a) shown below, to calculate a firstfiltered equivalent ratio KACTHP(n) (step S64). Eq. (15a) is obtained byreplacing the control time “k” in Eq. (15) with the control time “n”.

KACTHP(n)=h20×KACT(n)+h21×KACT(n−3)+h22×KACT(n−6)−h11×KACTHP(n−3)−h12×KACTHP(n−6)  (15a)

[0108] Next, a first average value KACTHPAV is calculated from Eq. (30)shown below (step S65).

KACTHPAV=(|KACTHP(n)|+|KACTHP(n−nHPD1)|)/2  (30)

[0109] The reason for calculating the average value KACTHPAV of thefiltered equivalent ratio KACTHP is described below referring to FIGS.8A-8C. FIG. 8A shows a spiky response wave form, and FIG. 8B shows ahigh-pass filtered spiky response wave form. The amplitude of thehigh-pass filtered wave form becomes “0” at time t0 when the amplitudeof the spiky response wave form becomes a peak level. Therefore, thereis a possibility that the spiky response may not accurately be detectedif the filtered equivalent ratio KACTHP is used as itself. Accordingly,the first average value KACTHPAV of an absolute value of the filteredequivalent ratio KACTHP(n−nHPD1) which is a filtered equivalent ratio atthe time a first discrete time nHPD1 before (the wave form shown in FIG.8C by a broken line) and an absolute value of the present valueKACTHP(n) (the wave form shown in FIG. 8C by a solid line), iscalculated, and the occurrence of the spiky response is determined withthe average value KACTHPAV.

[0110] If GAIRCYL is less than or equal to GAIRHP, i.e., the engine 1 isoperating in a low load operating condition, a second high-passfiltering is performed by Eq. (15b) shown below, to calculate a secondfiltered equivalent ratio KACTHPL(n) (step S66). Eq. (15b) is obtainedby changing the filter coefficients in Eq. (15a) so that the cut-offfrequency of the second high-pass filtering is lower than that of thefirst high-pass filtering. There is a tendency where the frequencycomponents of the spiky response become higher as the load on the engine1 becomes greater. Accordingly, by lowering the cut-off frequency of thehigh-pass filtering in the low load operating condition compared withthe high load operating condition, the spiky response can be detectedmore accurately.

KACTHPL(n)=h20L×KACT(n)+h21L×KACT(n−1)+h22L×KACT(n−2)−h11L×KACTHP(n−1)−h12L×KACTHP(n−2)  (15b)

[0111] In step S67, a second average value KACTHPAVL, which is anaverage value of the present absolute value of the second high-passfiltered equivalent ratio KACTHPL and the absolute value of the secondhigh-pass filtered equivalent ratio KACTHPL at the time a seconddiscrete time nHPD2 before, is calculated from Eq. (31) shown below.

KACTHPAV L=(|KACTHPL(n)+|KACTHPL(n−nHPD2)|)/2  (31)

[0112] The first discrete time nHPD1 and the second discrete time nHPD2are set according to delay time periods of the first and secondhigh-pass filterings.

[0113] In step S68, a control deviation DKACTKE is calculated from Eq.(32).

DKACTKE=KACT(n)−KCMD(n−nSTR)  (32)

[0114] where a discrete time nSTR corresponds a dead time period of thecontrol system (a delay time period from the change in the targetequivalent ratio KCMD to the change in the detected equivalent ratioKACT). In this embodiment, the discrete time nSTR is set to “9”.

[0115] In step S69, it is determined whether or not the controldeviation DKACTKE is greater than an upper threshold value DKACTKEH(e.g., “0.05”). If the control deviation DKACTKE is less than or equalto the upper threshold value DKACTKEH, it is further determined whetheror not the control deviation DKACTKE is less than a lower thresholdvalue DKACTKEL (e.g., “−0.05”) (step S70). If the answer to step S70 isnegative (NO), i.e., the control deviation is between the upperthreshold value KDACTKEH and the lower threshold value DKACTKEL, it isdetermined that the spiky response is not generated, and the spikecorrection coefficient KID is set to “1.0” (step S71).

[0116] If the answer to step S69 or S70 is affirmative (YES), it isdetermined that there is a possibility that the rich spike shown in FIG.9 may be generated or a possibility that the lean spike shown in FIG. 9may be generated, and the process proceeds to step S72.

[0117] In step S72, it is determined whether or not the intake air flowrate GAIRCYL is greater than the predetermined intake air flow rateGAIRHP. If GAIRCYL is greater than GAIRHP, i.e., the engine is operatingin the high load condition, a first KID table shown in FIG. 10A isretrieved according to the first average value KACTHPAV to calculate thespike correction coefficient KID (step S73). According to the first KIDtable, in the transition range in the vicinity of the firstpredetermined threshold value KACTTH, the spike correction coefficientKID is set so that it decreases as the first average value KACTHPAVincreases. In the range where the first average value KACTHPAV is lessthan the transition range, the spike correction coefficient KID is setto “1.0”, and in the range where the first average value KACTHPAV isgreater than the transition range, the spike correction coefficient KIDis set to a predetermined value KIDL (e.g., “0.01”). Even when it isdetermined in step S69 or S70 that there is a possibility that the richspike or the lean spike may be generated, if the first average valueKACTHPAV is less than the transition range, it is determined that thespiky response has not been output. Accordingly, the spike correctioncoefficient KID is set to “1.0”.

[0118] If GAIRCYL is less than or equal to GAIRHP in step S72, i.e., theengine 1 is operating in the low load operating condition, a second KIDtable shown in FIG. 10B is retrieved according to the second averagevalue KACTHPAVL to calculate the spike correction coefficient KID (stepS74). According to the second KID table, in the transition range in thevicinity of the second predetermined threshold value KACTTHL, the spikecorrection coefficient KID is set so that it decreases as the secondaverage value KACTHPAVL increases. In the range where the second averagevalue KACTHPAVL is less than the transition range, the spike correctioncoefficient KID is set to “1.0”, and in the range where the secondaverage value KACTHPAVL is greater than the transition range, the spikecorrection coefficient KID is set to the predetermined value KIDL (e.g.,“0.01”). If the second average value KACTHPAVL is less than thetransition range, it is determined that the spiky response has not beenoutput. Accordingly, the spike correction coefficient KID is set to“1.0”.

[0119] The spiky response is more unlikely to occur in the low loadoperating condition compared with in the high load operating condition.Therefore, the second predetermined threshold value KACTTHL is set to agreater value than the first predetermined threshold value KACTTH inorder to avoid that a response due to a steady disturbance is wronglydetermined to be a spiky response. By setting the threshold value forthe spiky response detection according to the load on the engine, thespiky response can be determined accurately.

[0120] As described above, in the present embodiment, the detectedequivalent ratio KACT is monitored, and when the spiky response outputis detected, the updating rate of the model parameter vector is modifiedto a lower rate by changing the spike correction coefficient KID to alower value near “0”. The performance of following up the control targetvalue is temporarily lowered by lowering the updating rate of the modelparameters. Accordingly, an excessive correction corresponding to thespiky response of the detected equivalent ratio KACT can be suppressed,to thereby maintain good controllability.

[0121] In this embodiment, the engine system 1 a corresponds to theplant as the controlled object, and the ECU 5 constitutes theidentifying means, the self-tuning regulator, the spiky responsedetecting means, and the modifying means. Specifically, the processshown in FIG. 6 corresponds to the identifying means, and the processshown in FIG. 5 corresponds to the self-tuning regulator. Steps S63-S70and S72-S74 in FIG. 7 correspond to the spiky response detecting meansand the modifying means. The calculation process of the updating vectordθ by Eq. (5a) corresponds to the updating component calculating means,and the calculation of multiplying the spike correction coefficient KIDby the updating vector dθ corresponds to the updating componentcorrecting means. Further, steps S63, S64, and S66 correspond to thefiltering means, and steps S65 and S67 correspond to the average valuecalculating means.

[0122] Modification

[0123] The first and second KID table shown in FIGS. 10A and 10B may bemodified so that the transition range where the spike correctioncoefficient KID gradually decreases is omitted, i.e., the spikecorrection coefficient KID changes stepwise from “1.0” to thepredetermined value KIDL.

[0124] When the excessive correction is performed by the self-tuningregulator immediately after generation of the lean spike, the air-fuelratio deviates to a richer side with respect to the target air-fuelratio. In this case, NOx emission from the engine is not degraded sincethe three-way catalyst 14 can purify NOx. Therefore, the spikecorrection coefficient KID may be reduced only when the rich spike isgenerated, by setting the lower threshold value DKACTKEL in step S70 to“−1”, which made the answer to step S70 actually fail to becomeaffirmative (YES) (by neglecting the lean spike and detecting the richspike only).

[0125] In the above described embodiment, the detected equivalent ratioKACT is input to the high-pass filter 33, and the spiky response isdetected based on the high-pass filtered equivalent ratio KACTHP.Alternatively, the self-tuning correction coefficient KSTR may be inputto the high-pass filter 33, as shown in FIG. 11, and the spiky responsemay be detected based on the high-pass filtered self-tuning correctioncoefficient KSTRHP. The self-tuning correction coefficient KSTR, whichis an output from the self-tuning regulator, responds rapidly to achange in the detected equivalent ratio KACT. Accordingly, theself-tuning correction coefficient KSTR can be used as a parameterindicative of the output of the controlled object. This modification isadvantageous when the detected equivalent ratio includes noises.

[0126] Second Embodiment

[0127]FIG. 12 is a schematic diagram showing a configuration of acontrol system including a running lane keeping device for a vehicleaccording to a second embodiment of the present invention. The runninglane keeping device controls a steering angle δ of a steering wheel ofthe vehicle so that the distance YACT (hereinafter referred to as“actual running position”), as shown in FIG. 13, from the left end ofthe running lane to the center of the vehicle 50 coincides with a targetrunning position YCMD.

[0128] The control system shown in FIG. 12 includes a self-tuningregulator 51, a steering angle calculation block 52, a steeringmechanism 53, a position detector 54, and a high-pass filter 55. Theself-tuning regulator 51 includes an inverse transfer functioncontroller 61, and a parameter adjusting mechanism 62.

[0129] The position detector 54 detects the actual running position YACTbased on the image obtained by a CCD camera. The high-pass filter 55performs high-pass filtering of the actual running position YACT, andoutputs a filtered running position YACTHP. The parameter adjustingmechanism 62 calculates a model parameter vector θ based on the actualrunning position YACT, a running position correction amount YSTR, andthe filtered running position YACTHP. The inverse transfer functioncontroller 61 calculates the running position correction amount YSTR,based on the target running position YCMD, the actual running positionYACT, and past values of the running position correction amount YSTR,using the model parameter vector θ.

[0130] The steering angle calculation block 52 calculates a steeringangle δ based on the running position correction amount YSTR, a runningdistance of the vehicle, a turning angle of the vehicle, and a frictioncoefficient of the road. The steering mechanism 53 steers the vehiclecorresponding to the steering angle δ.

[0131] The self-tuning regulator 51 calculates the running positioncorrection amount YSTR based on a controlled object model which isobtained by modeling the controlled object, i.e., the steering mechanism53 and the vehicle 50 whose behavior changes with steering. Thecontrolled object model is defined by Eq. (41) shown below, as a DARXmodel having a dead time of 3 control cycles.

YACT(k)=b0×YSTR(k−3)+r1×YSTR(k−4)+r2×YSTR(k−5)+r3×YSTR(k−6)+s0×YACT(k−3)  (41)

[0132] where b0, r1, r2, r3, and s0 are the model parameters identifiedby the parameter adjusting mechanism 62.

[0133] Eq. (41) is obtained by replacing KACT and KSTR in Eq. (2)respectively with YACT and YSTR, which means that the steering mechanism53 and the vehicle 50 can be modeled similarly to the engine system 1 a.Therefore, the control method described in the first embodiment can beapplied as itself. That is, the parameter adjusting mechanism 62identifies a model parameter vector θ from Eqs. (42)-(49) shown below.

θ(k)=SGMθ(k−1)+KID·dθ(k)  (42)

dθ(k)=KP(k)ide(k)  (43) $\begin{matrix}{{SGM} = \begin{bmatrix}1 & 0 & 0 & 0 & 0 \\0 & \sigma & 0 & 0 & 0 \\0 & 0 & \sigma & 0 & 0 \\0 & 0 & 0 & \sigma & 0 \\0 & 0 & 0 & 0 & \sigma\end{bmatrix}} & (44) \\{{{KP}(k)} = \frac{{P(k)}{\zeta (k)}}{1 + {{\zeta^{T}(k)}{P(k)}{\zeta (k)}}}} & (45) \\{{{P\left( {k + 1} \right)} = {\frac{1}{\lambda_{1}}\left( {E - \frac{{\lambda_{2}(K)}{\zeta (k)}{\zeta^{T}(k)}}{\lambda_{1} + {\lambda_{2}{\zeta^{T}(k)}{P(k)}{\zeta (k)}}}} \right){P(k)}}}\quad \left( {E\text{:}\quad {the}\quad {unit}\quad {matrix}} \right)} & (46)\end{matrix}$

 ide(k)=YACT(k)−YACTHAT(k)  (47)

YACTHAT(k)=θ(k−1)^(T)ζ(k)  (48)

ζ(k)^(T) =[YSTR(k−3), YSTR(k−4), YSTR(k−5), YSTR(k−6), YACT(k−3)]  (49)

[0134] Eqs. (42)-(46) are the same as Eqs. (4)-(8), and Eqs. (47)-(49)are obtained by replacing KACT, KACTHAT, and KSTR respectively withYACT, YACTHAT, and YSTR.

[0135] The inverse function controller 61 calculates the runningposition correction amount YSTR from Eq. (50) shown below.

YSTR(k)=(1/b0)(YCMD(k)−r1×YSTR(k−1)−r2×YSTR(k−2)−r3×YSTR(k−3)−s0×YACT(k))  (50)

[0136] In this embodiment, a spiky response is detected due todisturbance of a blast during the vehicle running. When the spikyresponse is detected, the spike coefficient KID is set similarly as inthe first embodiment. Accordingly, an excessive correction for the spikyresponse is suppressed, to thereby obtain good performance of keepingthe running lane.

[0137] The self-tuning regulator 51 and the high-pass filter 55 can beconstituted specifically by an electronic control unit including inputand output circuits, a CPU, and a memory circuit. Accordingly, theelectronic control unit constitutes the identifying means, the spikyresponse detecting means, and the modifying means.

INDUSTRIAL APPLICABILITY

[0138] The present invention contributes to suppress excessivecorrection for a spiky disturbance being applied and maintain a goodcontrollability, when controlling the plant, which is a controlledobject, with the self-tuning regulator. Specifically, the presentinvention can be applied to an air-fuel ratio control of an internalcombustion engine and a running lane keeping control of a vehicle.Further, the present invention can be applied to an air-fuel ratiocontrol of an engine having an crank shaft mounted vertically, such asan outboard engine for driving a ship.

1. A control apparatus for a plant, controlling said plant with aself-tuning regulator having identifying means for identifying at leastone model parameter of a controlled object model which is obtained bymodeling said plant, said self-tuning regulator using the at least onemodel parameter identified by said identifying means, said controlapparatus including spiky response detecting means for monitoring aparameter indicative of an output of said plant to detect a spikyresponse output, wherein said identifying means includes modifying meansfor modifying an updating rate of the at least one model parameter to alower rate, when the spiky response output is detected by said spikyresponse detecting means.
 2. A control apparatus according to claim 1,wherein said identifying means further includes updating componentcalculating means for calculating at least one updating componentcorresponding to the at least one model parameter, and updatingcomponent correcting means for calculating at least one correctedupdating component by multiplying a correction coefficient by the atleast one updating component, said identifying means calculating apresent value of the at least one model parameter by adding at least onecorrected updating component to a preceding value of the at least onemodel parameter, said modifying means modifying the correctioncoefficient so that an absolute value of the correction coefficientdecreases, when the spiky response output is detected by said spikyresponse detecting means.
 3. A control apparatus according to claim 1,wherein said spiky response detecting means includes filtering means forperforming a high-pass filtering of the parameter indicative of theoutput of said plant, and detects the spiky response output according toan output of said filtering means.
 4. A control apparatus according toclaim 3, wherein said spiky response detecting means includes averagevalue calculating means for calculating an average value by averagingabsolute values of a present output and a stored output of saidfiltering means, said stored output being stored at a time apredetermined time period before, said spiky response detecting meansdetermining that the spiky response has been output, when said averagevalue exceeds a predetermined threshold value.
 5. A control apparatusaccording to claim 1, wherein said spiky response detecting meansdetermines a direction of the spiky response output and detects only aspiky response output having a predetermined direction.
 6. A controlapparatus according to claim 1, wherein the parameter indicative of theoutput of said plant is an output of said self-tuning regulator.
 7. Acontrol apparatus according to claim 1, wherein said plant includes anengine system having an internal combustion engine and fuel supplyingmeans for supplying fuel to said engine, and said self-tuning regulatorcalculates a parameter that determines a control input to said enginesystem so that an air-fuel ratio of an air-fuel mixture supplied to saidengine coincides with a target air-fuel ratio.
 8. A control apparatusaccording to claim 3, wherein said plant includes an engine systemhaving an internal combustion engine and fuel supplying means forsupplying a fuel to said engine, and said self-tuning regulatorcalculates a parameter that determines a control input to said enginesystem so that an air-fuel ratio of an air-fuel mixture supplied to saidengine coincides with a target air-fuel ratio, a filteringcharacteristic of said high-pass filtering being changed according to anoperating condition of said engine.
 9. A control apparatus according toclaim 4, wherein said plant includes an engine system having an internalcombustion engine and fuel supplying means for supplying a fuel to saidengine, and said self-tuning regulator calculates a parameter thatdetermines a control input to said engine system so that an air-fuelratio of an air-fuel mixture supplied to said engine coincides with atarget air-fuel ratio, said predetermined threshold value being changedaccording to an operating condition of said engine.
 10. A control methodfor controlling a plant with a self-tuning regulator, said controlmethod comprising the steps of: a) identifying at least one modelparameter of a controlled object model which is obtained by modelingsaid plant; and b) controlling said plant with said self-tuningregulator using the identified at least one model parameter, c)monitoring an output parameter indicative of an output of said plant todetect a spiky response output; wherein an updating rate of the at leastone model parameter is modified to a lower rate, when the spiky responseoutput is detected at said step c).
 11. A control method according toclaim 10, wherein said step a) of identifying the at least one modelparameter comprises the steps of: i) calculating at least one updatingcomponent corresponding to the at least one model parameter; ii)calculating at least one corrected updating component by multiplying acorrection coefficient by the at least one updating component; and iii)calculating a present value of the at least one model parameter byadding at least one corrected updating component to a preceding value ofthe at least one model parameter, the correction coefficient beingmodified so that an absolute value of the correction coefficientdecreases, when the spiky response output is detected at said step c).12. A control method according to claim 10, wherein said step c) ofmonitoring the output parameter comprises the steps of: i) performing ahigh-pass filtering of said output parameter; and ii) detecting thespiky response output according to the filtered output parameter.
 13. Acontrol method according to claim 12, wherein said step ii) of detectingthe spiky response output comprises the steps of: iii) calculating anaverage value by averaging absolute values of a present filtered outputparameter and a filtered output parameter that is stored at a time apredetermined time period before; and iv) determining that the spikyresponse has been output, when said average value exceeds apredetermined threshold value.
 14. A control method according to claim10, wherein a direction of the spiky response output is determined andonly a spiky response output having a predetermined direction isdetected.
 15. A control method according to claim 10, wherein the outputparameter indicative of the output of said plant is an output of saidself-tuning regulator.
 16. A control method according to claim 10,wherein said plant includes an engine system having an internalcombustion engine and a fuel supplying device for supplying fuel to saidengine, and said self-tuning regulator calculates a parameter thatdetermines a control input to said engine system so that an air-fuelratio of an air-fuel mixture supplied to said engine coincides with atarget air-fuel ratio.
 17. A control method according to claim 12,wherein said plant includes an engine system having an internalcombustion engine and a fuel supplying device for supplying a fuel tosaid engine, and said self-tuning regulator calculates a parameter thatdetermines a control input to said engine system so that an air-fuelratio of an air-fuel mixture supplied to said engine coincides with atarget air-fuel ratio, a filtering characteristic of said high-passfiltering being changed according to an operating condition of saidengine.
 18. A control method according to claim 13, wherein said plantincludes an engine system having an internal combustion engine and afuel supplying device for supplying a fuel to said engine, and saidself-tuning regulator calculates a parameter that determines a controlinput to said engine system so that an air-fuel ratio of an air-fuelmixture supplied to said engine coincides with a target air-fuel ratio,said predetermined threshold value being changed according to anoperating condition of said engine.
 19. A computer readable mediumstoring a computer program for causing a computer to carry out a controlmethod for controlling a plant with a self-tuning regulator, saidcontrol method comprising the steps of: a) identifying at least onemodel parameter of a controlled object model which is obtained bymodeling said plant; and b) controlling said plant with said self-tuningregulator using the identified at least one model parameter, c)monitoring an output parameter indicative of an output of said plant todetect a spiky response output; wherein an updating rate of the at leastone model parameter is modified to a lower rate, when the spiky responseoutput is detected at said step c).
 20. A computer readable mediumaccording to claim 19, wherein said step a) of identifying the at leastone model parameter comprises the steps of: i) calculating at least oneupdating component corresponding to the at least one model parameter;ii) calculating at least one corrected updating component by multiplyinga correction coefficient by the at least one updating component; andiii) calculating a present value of the at least one model parameter byadding at least one corrected updating component to a preceding value ofthe at least one model parameter, the correction coefficient beingmodified so that an absolute value of the correction coefficientdecreases, when the spiky response output is detected at said step c).21. A computer readable medium according to claim 19, wherein said stepc) of monitoring the output parameter comprises the steps of: i)performing a high-pass filtering of said output parameter; and ii)detecting the spiky response output according to the filtered outputparameter.
 22. A computer readable medium according to claim 21, whereinsaid step ii) of detecting the spiky response output comprises the stepsof: iii) calculating an average value by averaging absolute values of apresent filtered output parameter and a filtered output parameter thatis stored at a time a predetermined time period before; and iv)determining that the spiky response has been output, when said averagevalue exceeds a predetermined threshold value.
 23. A computer readablemedium according to claim 19, wherein a direction of the spiky responseoutput is determined and only a spiky response output having apredetermined direction is detected.
 24. A computer readable mediumaccording to claim 19, wherein the output parameter indicative of theoutput of said plant is an output of said self-tuning regulator.
 25. Acomputer readable medium according to claim 19, wherein said plantincludes an engine system having an internal combustion engine and afuel supplying device for supplying fuel to said engine, and saidself-tuning regulator calculates a parameter that determines a controlinput to said engine system so that an air-fuel ratio of an air-fuelmixture supplied to said engine coincides with a target air-fuel ratio.26. A computer readable medium according to claim 21, wherein said plantincludes an engine system having an internal combustion engine and afuel supplying device for supplying a fuel to said engine, and saidself-tuning regulator calculates a parameter that determines a controlinput to said engine system so that an air-fuel ratio of an air-fuelmixture supplied to said engine coincides with a target air-fuel ratio,a filtering characteristic of said high-pass filtering being changedaccording to an operating condition of said engine.
 27. A computerreadable medium according to claim 22, wherein said plant includes anengine system having an internal combustion engine and a fuel supplyingdevice for supplying a fuel to said engine, and said self-tuningregulator calculates a parameter that determines a control input to saidengine system so that an air-fuel ratio of an air-fuel mixture suppliedto said engine coincides with a target air-fuel ratio, saidpredetermined threshold value being changed according to an operatingcondition of said engine.